home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zephyr!tektronix!tekgen!tekred!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v07i054: conquer4 - middle earth multi-player game (V4), Patch3c
- Message-ID: <4293@tekred.CNA.TEK.COM>
- Date: 19 Jul 89 17:58:35 GMT
- Sender: nobody@tekred.CNA.TEK.COM
- Lines: 2144
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: Adam Bryant <adb@bu-cs.bu.edu>
- Posting-number: Volume 7, Issue 54
- Archive-name: conquer4/Patch3c
- Patch-To: conquer4: Volume 6, Issue 83-97
-
-
-
- #!/bin/sh
- # this is part 3 of a multipart archive
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file patchV4.03 continued
- #
- CurArch=3
- if test ! -r s2_seq_.tmp
- then echo "Please unpack part 1 first!"
- exit 1; fi
- ( read Scheck
- if test "$Scheck" != $CurArch
- then echo "Please unpack part $Scheck next!"
- exit 1;
- else exit 0; fi
- ) < s2_seq_.tmp || exit 1
- sed 's/^X//' << 'SHAR_EOF' >> patchV4.03
- X return(Attr);
- X }
- X-
- X /****************************************************************/
- X /* ARMYMOVE() */
- X /* armymove moves an army... and returns the # of sectors taken */
- X--- 217,222 ----
- X***************
- X*** 227,232 ****
- X--- 226,234 ----
- X int armynum;
- X {
- X long sum, where;
- X+ #ifdef XENIX
- X+ register int z;
- X+ #endif /*XENIX*/
- X register int x, y;
- X int i;
- X long menok; /* enough men in the army? */
- X***************
- X*** 336,348 ****
- X if((sct[x][y].designation != DCITY)
- X &&(sct[x][y].designation != DCAPITOL)
- X &&(sct[x][y].designation != DTOWN)
- X! &&(sct[x][y].owner==country))
- X attr[x][y] /= 8;
- X!
- X if(sct[x][y].owner==0){
- X sct[x][y].owner=country;
- X curntn->popularity++;
- X attr[x][y]/=8;
- X takesctr++;
- X }
- X
- X--- 338,362 ----
- X if((sct[x][y].designation != DCITY)
- X &&(sct[x][y].designation != DCAPITOL)
- X &&(sct[x][y].designation != DTOWN)
- X! &&(sct[x][y].owner==country)) {
- X! #ifdef XENIX
- X! z = attr[x][y];
- X! z /= 8;
- X! attr[x][y] = z;
- X! #else
- X attr[x][y] /= 8;
- X! #endif /*XENIX*/
- X! }
- X if(sct[x][y].owner==0){
- X sct[x][y].owner=country;
- X curntn->popularity++;
- X+ #ifdef XENIX
- X+ z = attr[x][y];
- X+ z /= 8;
- X+ attr[x][y] = z;
- X+ #else
- X attr[x][y]/=8;
- X+ #endif /*XENIX*/
- X takesctr++;
- X }
- X
- X***************
- X*** 476,481 ****
- X--- 490,496 ----
- X }
- X #endif CHEAT
- X
- X+
- X /****************************************************************/
- X /* UPDEXECS() */
- X /* update all nations in a random order */
- X***************
- X*** 485,492 ****
- X updexecs()
- X {
- X register struct s_sector *sptr;
- X! register int i, j;
- X! register int x,y;
- X int armynum;
- X int moved,done,loop=0,number=0;
- X
- X--- 500,509 ----
- X updexecs()
- X {
- X register struct s_sector *sptr;
- X! register int i, j, x, y;
- X! #ifdef XENIX
- X! register int z;
- X! #endif /*XENIX*/
- X int armynum;
- X int moved,done,loop=0,number=0;
- X
- X***************
- X*** 530,535 ****
- X--- 547,553 ----
- X /*if execute is 0 and PC nation then they did not move*/
- X if((execute(TRUE)==0)&&(ispc(curntn->active))){
- X printf("\tnation %s did not move\n",curntn->name);
- X+ #ifdef NPC
- X #ifdef CMOVE
- X printf("\tthe computer will move for %s\n",curntn->name);
- X fprintf(fnews,"1.\tthe computer will move for %s\n",curntn->name);
- X***************
- X*** 536,552 ****
- X mailopen( country );
- X fprintf(fm,"the computer moved for you (%s) in %s of Year %d\n",curntn->name,PSEASON(TURN),YEAR(TURN));
- X mailclose();
- X! check();
- X nationrun();
- X! check();
- X! #endif CMOVE
- X }
- X- #ifdef NPC
- X- check();
- X /* run npc nations */
- X if(isnpc(curntn->active)) {
- X nationrun();
- X! check();
- X #ifdef ORCTAKE
- X /*do npc nation magic*/
- X if(magic(country,MA_MONST)==TRUE) {
- X--- 554,569 ----
- X mailopen( country );
- X fprintf(fm,"the computer moved for you (%s) in %s of Year %d\n",curntn->name,PSEASON(TURN),YEAR(TURN));
- X mailclose();
- X! check();
- X nationrun();
- X! check();
- X! #endif /*CMOVE*/
- X }
- X /* run npc nations */
- X if(isnpc(curntn->active)) {
- X+ check();
- X nationrun();
- X! check();
- X #ifdef ORCTAKE
- X /*do npc nation magic*/
- X if(magic(country,MA_MONST)==TRUE) {
- X***************
- X*** 560,567 ****
- X printf("SUCCESSFUL TAKEOVER OF %d by %s",x,curntn->name);
- X }
- X #endif ORCTAKE
- X }
- X- #endif NPC
- X
- X /* is leader killed - put nation into dissarray */
- X x = getleader((int)curntn->class) - 1;
- X--- 577,584 ----
- X printf("SUCCESSFUL TAKEOVER OF %d by %s",x,curntn->name);
- X }
- X #endif ORCTAKE
- X+ #endif /*NPC*/
- X }
- X
- X /* is leader killed - put nation into dissarray */
- X x = getleader((int)curntn->class) - 1;
- X***************
- X*** 642,648 ****
- X if(ONMAP(i,j)){
- X if( sct[i][j].owner != country)
- X continue;
- X! moved=(sptr->people*attr[i][j]-sct[i][j].people*attr[x][y])/(1+5*(attr[i][j]+attr[x][y]));
- X if( moved <= 0 ) continue;
- X
- X sct[i][j].people += moved;
- X--- 659,666 ----
- X if(ONMAP(i,j)){
- X if( sct[i][j].owner != country)
- X continue;
- X! moved=(sptr->people*attr[i][j]-sct[i][j].people*attr[x][y]);
- X! moved /= (1+5*(attr[i][j]+attr[x][y]));
- X if( moved <= 0 ) continue;
- X
- X sct[i][j].people += moved;
- X***************
- X*** 655,661 ****
- X--- 673,685 ----
- X for(country=1;country<NTOTAL;country++) if(isntn(ntn[country].active)){
- X ntn[country].tships=0;
- X ntn[country].tmil=0;
- X+ #ifdef XENIX
- X+ z = ntn[country].spellpts;
- X+ z /= 2;
- X+ ntn[country].spellpts = z;
- X+ #else
- X if(rand()%4==0) ntn[country].spellpts/=2;
- X+ #endif /*XENIX*/
- X if(magic(country,SUMMON)==TRUE) {
- X ntn[country].spellpts+=4;
- X if(magic(country,WYZARD)==TRUE)
- X***************
- X*** 678,683 ****
- X--- 702,710 ----
- X void
- X do_lizard()
- X {
- X+ #ifdef XENIX
- X+ register int x;
- X+ #endif /*XENIX*/
- X register int i, j;
- X int armynum;
- X
- X***************
- X*** 686,693 ****
- X for(armynum=0;armynum<MAXARM;armynum++)
- X if((P_ASOLD>0)) {
- X P_AMOVE =20; /* just in case god wants to move them */
- X! P_ASOLD*=102; /* increase population */
- X P_ASOLD/=100;
- X if(armynum%2==0) {
- X if(P_ASTAT!=SIEGED) P_ASTAT=GARRISON;
- X } else {
- X--- 713,727 ----
- X for(armynum=0;armynum<MAXARM;armynum++)
- X if((P_ASOLD>0)) {
- X P_AMOVE =20; /* just in case god wants to move them */
- X! /* increase population */
- X! #ifdef XENIX
- X! x = P_ASOLD * 102;
- X! x /= 100;
- X! P_ASOLD = x;
- X! #else
- X! P_ASOLD*=102;
- X P_ASOLD/=100;
- X+ #endif /*XENIX*/
- X if(armynum%2==0) {
- X if(P_ASTAT!=SIEGED) P_ASTAT=GARRISON;
- X } else {
- X***************
- X*** 1333,1340 ****
- X--- 1367,1381 ----
- X }
- X /*this state can occur if few people live in cities*/
- X if(curntn->tfood<0) curntn->tfood=0L;
- X+ #ifdef XENIX
- X+ xx = curntn->tfood;
- X+ xx *= (100-curntn->spoilrate);
- X+ xx /= 100;
- X+ curntn->tfood = xx;
- X+ #else
- X curntn->tfood *= (100-curntn->spoilrate);
- X curntn->tfood /= 100;
- X+ #endif /*XENIX*/
- X
- X if(curntn->tgold>GOLDTHRESH*curntn->jewels){
- X /* buy jewels off commodities board */
- X*** ocommands.c Tue Jul 18 22:04:40 1989
- X--- commands.c Tue Jul 18 22:05:00 1989
- X***************
- X*** 53,59 ****
- X &&((desg!=DCAPITOL && sptr->designation==DCITY)
- X ||sptr->designation==DCAPITOL)) {
- X if(prtflag) {
- X! char buf[80];
- X sprintf(buf,"Must first burn down city/capitol (designate as '%c')",DRUIN);
- X errormsg(buf);
- X }
- X--- 53,59 ----
- X &&((desg!=DCAPITOL && sptr->designation==DCITY)
- X ||sptr->designation==DCAPITOL)) {
- X if(prtflag) {
- X! char buf[LINELTH+1];
- X sprintf(buf,"Must first burn down city/capitol (designate as '%c')",DRUIN);
- X errormsg(buf);
- X }
- X***************
- X*** 189,196 ****
- X return;
- X }
- X sptr->vegetation=newdes;
- X! if(tofood(sptr,0)!=0)
- X! sptr->designation=newdes;
- X reset_god();
- X return;
- X case 'o':
- X--- 189,197 ----
- X return;
- X }
- X sptr->vegetation=newdes;
- X! if( tofood(sptr,0) < DESFOOD )
- X! sptr->designation=DNODESIG;
- X! else sptr->designation=newdes;
- X reset_god();
- X return;
- X case 'o':
- X***************
- X*** 445,451 ****
- X
- X if (P_NCREW==SHIPCREW) {
- X errormsg("You may only &^#$! repair damaged fleets!!!");
- X- if(isgod==TRUE) reset_god();
- X return;
- X }
- X clear_bottom(0);
- X--- 446,451 ----
- X***************
- X*** 458,463 ****
- X--- 458,468 ----
- X clrtoeol();
- X refresh();
- X amount = (short) get_number();
- X+ if (amount<0) {
- X+ if(isgod==TRUE) reset_god();
- X+ return;
- X+ }
- X+
- X
- X /* find cost of repairs on all ships */
- X cost = 0;
- X***************
- X*** 600,606 ****
- X
- X /*sanity checks*/
- X if((amount>N_MASK)) amount=0;
- X! if (amount==0)
- X {
- X if(isgod==TRUE) reset_god();
- X return;
- X--- 605,611 ----
- X
- X /*sanity checks*/
- X if((amount>N_MASK)) amount=0;
- X! if (amount<=0)
- X {
- X if(isgod==TRUE) reset_god();
- X return;
- X***************
- X*** 1023,1032 ****
- X int count,msglen;
- X int contd;
- X int done=FALSE;
- X! char tempfile[ 30 ];
- X! char mesgfile[ 30 ];
- X! char line[80], inpch;
- X! char save[50][80];
- X
- X /*open file*/
- X sprintf(tempfile,"%s%hd.tmp",msgfile,country);
- X--- 1028,1037 ----
- X int count,msglen;
- X int contd;
- X int done=FALSE;
- X! char tempfile[FILELTH];
- X! char mesgfile[FILELTH];
- X! char line[LINELTH+1], inpch;
- X! char save[LINELTH][LINELTH+1];
- X
- X /*open file*/
- X sprintf(tempfile,"%s%hd.tmp",msgfile,country);
- X***************
- X*** 1050,1056 ****
- X }
- X
- X /*read in file a line at at time*/
- X! if(fgets(line,80,mesgfp)==NULL) {
- X done=TRUE;
- X redraw=FALSE;
- X clear_bottom(0);
- X--- 1055,1061 ----
- X }
- X
- X /*read in file a line at at time*/
- X! if(fgets(line,LINELTH,mesgfp)==NULL) {
- X done=TRUE;
- X redraw=FALSE;
- X clear_bottom(0);
- X***************
- X*** 1066,1072 ****
- X standout();
- X /*print to end of message*/
- X while(contd==FALSE) {
- X! if(msglen<50) strcpy(save[msglen],line);
- X if(count==LINES-3) {
- X standout();
- X mvaddstr(LINES-3,(COLS/2)-8,"--- more ---");
- X--- 1071,1077 ----
- X standout();
- X /*print to end of message*/
- X while(contd==FALSE) {
- X! if(msglen<LINELTH) strcpy(save[msglen],line);
- X if(count==LINES-3) {
- X standout();
- X mvaddstr(LINES-3,(COLS/2)-8,"--- more ---");
- X***************
- X*** 1080,1086 ****
- X standend();
- X count++;
- X msglen++;
- X! if(fgets(line,80,mesgfp)==NULL) contd=TRUE;
- X if(strncmp(line,"END",3)==0) contd=TRUE;
- X }
- X standout();
- X--- 1085,1091 ----
- X standend();
- X count++;
- X msglen++;
- X! if(fgets(line,LINELTH,mesgfp)==NULL) contd=TRUE;
- X if(strncmp(line,"END",3)==0) contd=TRUE;
- X }
- X standout();
- X***************
- X*** 1094,1100 ****
- X strcpy(line,"END\n");
- X fputs(line,fptemp);
- X }
- X! if(fgets(line,80,mesgfp)==NULL) done=TRUE;
- X }
- X fclose(mesgfp);
- X fclose(fptemp);
- X--- 1099,1105 ----
- X strcpy(line,"END\n");
- X fputs(line,fptemp);
- X }
- X! if(fgets(line,LINELTH,mesgfp)==NULL) done=TRUE;
- X }
- X fclose(mesgfp);
- X fclose(fptemp);
- X***************
- X*** 1116,1122 ****
- X char name[NAMELTH+1];
- X int temp=(-1);
- X int linedone;
- X! char line[100];
- X
- X /*what nation to send to*/
- X clear();
- X--- 1121,1127 ----
- X char name[NAMELTH+1];
- X int temp=(-1);
- X int linedone;
- X! char line[BIGLTH];
- X
- X /*what nation to send to*/
- X clear();
- X***************
- X*** 1184,1190 ****
- X refresh();
- X ch=getch();
- X } else if (ch=='') {
- X! refresh();
- X ch=getch();
- X } else ch=getch();
- X }
- X--- 1189,1195 ----
- X refresh();
- X ch=getch();
- X } else if (ch=='') {
- X! wrefresh(stdscr);
- X ch=getch();
- X } else ch=getch();
- X }
- X***************
- X*** 1236,1243 ****
- X clrtoeol();
- X refresh();
- X people = get_number();
- X! if((people<0)
- X! ||(people>sct[XREAL][YREAL].people)
- X ||(people*50>curntn->tgold)){
- X errormsg("Sorry...Input error or you do not have the gold talons");
- X makebottom();
- X--- 1241,1250 ----
- X clrtoeol();
- X refresh();
- X people = get_number();
- X! if (people <= 0) {
- X! return;
- X! }
- X! if((people>sct[XREAL][YREAL].people)
- X ||(people*50>curntn->tgold)){
- X errormsg("Sorry...Input error or you do not have the gold talons");
- X makebottom();
- X***************
- X*** 1250,1255 ****
- X--- 1257,1265 ----
- X clrtoeol();
- X refresh();
- X i = get_number();
- X+ if (i < 0) {
- X+ return;
- X+ }
- X
- X if((i-(XREAL))>2||(i-(XREAL))<-2) {
- X errormsg("sorry, can only move two sectors");
- X***************
- X*** 1261,1266 ****
- X--- 1271,1279 ----
- X clrtoeol();
- X refresh();
- X j = get_number();
- X+ if (j < 0) {
- X+ return;
- X+ }
- X if((j-(YREAL)>2)||((YREAL)-j>2)) {
- X errormsg("sorry, can only move two sectors");
- X }
- X*** oio.c Tue Jul 18 22:04:41 1989
- X--- io.c Tue Jul 18 22:05:01 1989
- X***************
- X*** 73,78 ****
- X--- 73,96 ----
- X }
- X }
- X #endif ADMIN
- X+ #ifdef ADMIN
- X+ /************************************************************************/
- X+ /* PR_DESG() - print designations */
- X+ /************************************************************************/
- X+ void
- X+ pr_desg()
- X+ {
- X+ register int X, Y;
- X+ fprintf(stderr,"doing print of designations\n");
- X+ for(Y=0;Y<MAPY;Y++) {
- X+ for(X=0;X<MAPX;X++) {
- X+ putc(sct[X][Y].designation,stdout);
- X+
- X+ }
- X+ putc('\n',stdout);
- X+ }
- X+ }
- X+ #endif ADMIN
- X
- X /************************************************************************/
- X /* WRITEDATA() - write data to datafile */
- X***************
- X*** 270,276 ****
- X int nationid; /*current nation id */
- X #ifdef TIMELOG
- X FILE *timefp, *fopen();
- X! char timestr[80];
- X #endif /* TIMELOG */
- X
- X printf("Conquer %s.%d: %s of Year %d, Turn %d\n",VERSION,PATCHLEVEL,
- X--- 288,294 ----
- X int nationid; /*current nation id */
- X #ifdef TIMELOG
- X FILE *timefp, *fopen();
- X! char timestr[LINELTH+1];
- X #endif /* TIMELOG */
- X
- X printf("Conquer %s.%d: %s of Year %d, Turn %d\n",VERSION,PATCHLEVEL,
- X***************
- X*** 284,301 ****
- X #endif /* TIMELOG */
- X printf("id name race class align score talons military civilians sect\n");
- X for (nationid=1; nationid<NTOTAL; nationid++) {
- X! if(!isntn(ntn[nationid].active)) continue;
- X printf("%2d ",nationid);
- X printf("%9s ",ntn[nationid].name);
- X! for(i=1;i<8;i++)
- X! if(ntn[nationid].race==*(races+i)[0])
- X! printf("%6s ",*(races+i));
- X! printf("%8s ",*(Class+ntn[nationid].class));
- X! printf(" %7s ",allignment[npctype(ntn[nationid].active)]);
- X! printf("%6ld %8ld %8ld %8ld %4d\n",
- X! ntn[nationid].score ,ntn[nationid].tgold
- X! ,ntn[nationid].tmil ,ntn[nationid].tciv
- X! ,ntn[nationid].tsctrs );
- X }
- X }
- X #endif CONQUER
- X--- 302,336 ----
- X #endif /* TIMELOG */
- X printf("id name race class align score talons military civilians sect\n");
- X for (nationid=1; nationid<NTOTAL; nationid++) {
- X! if(!isactive(ntn[nationid].active)) continue;
- X printf("%2d ",nationid);
- X printf("%9s ",ntn[nationid].name);
- X! /* this check for old 'B' for barbarians; removed eventually */
- X! if (ntn[nationid].race=='B') {
- X! printf("%6s ", "SAVAGE");
- X! } else {
- X! for(i=1;(*(races+i)[0])!='U';i++)
- X! if(ntn[nationid].race==*(races+i)[0])
- X! printf("%6s ",*(races+i));
- X! }
- X!
- X! if (isntn(ntn[nationid].active)) {
- X! printf("%8s ",*(Class+ntn[nationid].class));
- X! printf(" %7s ",allignment[npctype(ntn[nationid].active)]);
- X! printf("%6ld %8ld %8ld %8ld %4d\n",
- X! ntn[nationid].score ,ntn[nationid].tgold
- X! ,ntn[nationid].tmil ,ntn[nationid].tciv
- X! ,ntn[nationid].tsctrs );
- X! } else {
- X! if (ispeasant(ntn[nationid].active)) {
- X! printf("%8s %7s ","Peasant","Neutral");
- X! /* info not kept track of yet */
- X! } else {
- X! printf("%8s %7s ","Monster","Other");
- X! }
- X! printf("%6s %8s %8s %8s %4s\n",
- X! "---","-----","----","-----","--");
- X! }
- X }
- X }
- X #endif CONQUER
- X***************
- X*** 386,392 ****
- X readmap()
- X {
- X FILE *mapfile;
- X! char line[128];
- X register int x,y;
- X
- X /* read in ele.map */
- X--- 421,427 ----
- X readmap()
- X {
- X FILE *mapfile;
- X! char line[BIGLTH+1];
- X register int x,y;
- X
- X /* read in ele.map */
- X***************
- X*** 415,421 ****
- X } else fprintf(stderr,"reading vegetation map file from %s\n",line );
- X y=0;
- X while( TRUE ) {
- X! if(fgets( line, 128, mapfile )==NULL) break;
- X for(x=0;x<MAPX;x++) sct[x][y].vegetation = line[x];
- X y++;
- X if(y>=MAPY) break;
- X--- 450,456 ----
- X } else fprintf(stderr,"reading vegetation map file from %s\n",line );
- X y=0;
- X while( TRUE ) {
- X! if(fgets( line, BIGLTH, mapfile )==NULL) break;
- X for(x=0;x<MAPX;x++) sct[x][y].vegetation = line[x];
- X y++;
- X if(y>=MAPY) break;
- X*** onewhelp.c Tue Jul 18 22:04:43 1989
- X--- newhelp.c Tue Jul 18 22:05:01 1989
- X***************
- X*** 44,49 ****
- X--- 44,50 ----
- X fprintf(fp,"s/XTRADEPCT/%d/g\n",TRADEPCT);
- X fprintf(fp,"s/XMAXNAVY/%d/g\n",MAXNAVY);
- X fprintf(fp,"s/XBREAKJIHAD/%ld/g\n",BREAKJIHAD);
- X+ fprintf(fp,"s/XCONQENV/%s/g\n",ENVIRON_OPTS);
- X
- X /* check all the defined options */
- X #ifdef OGOD
- X***************
- X*** 74,80 ****
- X--- 75,87 ----
- X #endif
- X #ifdef NPC
- X fprintf(fp,"s/XNPC/(True )/g\n");
- X+ #ifdef CMOVE
- X+ fprintf(fp,"s/XCMOVE/(True )/g\n");
- X #else
- X+ fprintf(fp,"s/XCMOVE/(False)/g\n");
- X+ #endif
- X+ #else
- X+ fprintf(fp,"s/XCMOVE/(False)/g\n");
- X fprintf(fp,"s/XNPC/(False)/g\n");
- X #endif
- X #ifdef CHEAT
- X***************
- X*** 81,91 ****
- X fprintf(fp,"s/XCHEAT/(True )/g\n");
- X #else
- X fprintf(fp,"s/XCHEAT/(False)/g\n");
- X- #endif
- X- #ifdef CMOVE
- X- fprintf(fp,"s/XCMOVE/(True )/g\n");
- X- #else
- X- fprintf(fp,"s/XCMOVE/(False)/g\n");
- X #endif
- X #ifdef RANEVENT
- X fprintf(fp,"s/XRANEVENT/(True )/g\n");
- X--- 88,93 ----
- X*** odata.c Tue Jul 18 22:04:40 1989
- X--- data.c Tue Jul 18 22:05:01 1989
- X***************
- X*** 63,71 ****
- X "King","Baron","Emperor","Prince","Wizard","Mage",
- X "Pope","Bishop","Admiral","Captain","Warlord","Lord",
- X "Demon","Devil","Dragon","Wyrm","Shadow","Nazgul",
- X! "Spirit", "Assasin", "Efreet", "Gargoyle", "Wraith",
- X! "Hero", "Centaur", "Giant", "Superhero", "Mummy",
- X! "Elemental", "Minotaur", "Demon", "Balrog", "Dragon"
- X };
- X
- X #ifdef CONQUER
- X--- 63,71 ----
- X "King","Baron","Emperor","Prince","Wizard","Mage",
- X "Pope","Bishop","Admiral","Captain","Warlord","Lord",
- X "Demon","Devil","Dragon","Wyrm","Shadow","Nazgul",
- X! "Spirit", "Assasin", "Efreet", "Gargoyl", "Wraith",
- X! "Hero", "Centaur", "Giant", "Suphero", "Mummy",
- X! "Elmentl", "Mintaur", "Demon", "Balrog", "Dragon"
- X };
- X
- X #ifdef CONQUER
- X***************
- X*** 251,260 ****
- X
- X #ifdef CONQUER
- X #ifdef SYSMAIL
- X! char sysmail[100];
- X int sys_mail_status;
- X #endif SYSMAIL
- X! char conqmail[100];
- X int conq_mail_status;
- X #endif CONQUER
- X
- X--- 251,260 ----
- X
- X #ifdef CONQUER
- X #ifdef SYSMAIL
- X! char sysmail[FILELTH];
- X int sys_mail_status;
- X #endif SYSMAIL
- X! char conqmail[FILELTH];
- X int conq_mail_status;
- X #endif CONQUER
- X
- X*** omagic.c Tue Jul 18 22:04:41 1989
- X--- magic.c Tue Jul 18 22:05:01 1989
- X***************
- X*** 185,191 ****
- X void
- X domagic()
- X {
- X! int count, done=FALSE, loop=0, i,type;
- X long price,x;
- X short isgod=0;
- X if(country==0) {
- X--- 185,191 ----
- X void
- X domagic()
- X {
- X! int county, countx, done=FALSE, loop=0, i,type;
- X long price,x;
- X short isgod=0;
- X if(country==0) {
- X***************
- X*** 196,210 ****
- X while(done==FALSE){
- X done=TRUE;
- X clear();
- X! count=3;
- X redraw=TRUE;
- X standout();
- X mvprintw(0,(COLS/2)-15,"MAGIC POWERS FOR %s",curntn->name);
- X! mvprintw(count++,30,"1) %d military powers: %ld jewels",
- X num_powers(country,M_MIL) ,getmgkcost(M_MIL,country));
- X! mvprintw(count++,30,"2) %d civilian powers: %ld jewels",
- X num_powers(country,M_CIV) ,getmgkcost(M_CIV,country));
- X! mvprintw(count++,30,"3) %d magic powers: %ld jewels",
- X num_powers(country,M_MGK),getmgkcost(M_MGK,country));
- X
- X price = getmgkcost(M_MIL,country);
- X--- 196,211 ----
- X while(done==FALSE){
- X done=TRUE;
- X clear();
- X! county=3;
- X! countx=0;
- X redraw=TRUE;
- X standout();
- X mvprintw(0,(COLS/2)-15,"MAGIC POWERS FOR %s",curntn->name);
- X! mvprintw(county++,30,"1) %d military powers: %ld jewels",
- X num_powers(country,M_MIL) ,getmgkcost(M_MIL,country));
- X! mvprintw(county++,30,"2) %d civilian powers: %ld jewels",
- X num_powers(country,M_CIV) ,getmgkcost(M_CIV,country));
- X! mvprintw(county++,30,"3) %d magic powers: %ld jewels",
- X num_powers(country,M_MGK),getmgkcost(M_MGK,country));
- X
- X price = getmgkcost(M_MIL,country);
- X***************
- X*** 217,243 ****
- X #endif OGOD
- X
- X standend();
- X! count=3;
- X /*print the powers that you have*/
- X i=0;
- X while( powers[i] != 0 ){
- X if(magic(country,powers[i])==TRUE)
- X! mvprintw(count++,0,"you have power %s",*(pwrname+i));
- X i++;
- X }
- X
- X! if(count<=7) count=8;
- X! else count++;
- X standout();
- X! mvprintw(count++,0,"YOU HAVE %ld JEWELS IN YOUR TREASURY",curntn->jewels);
- X if(price < curntn->jewels){
- X! mvaddstr(count++,0,"DO YOU WISH TO BUY A RANDOM NEW POWER (enter y or n):");
- X standend();
- X refresh();
- X- count++;
- X if(getch()=='y'){
- X done=FALSE;
- X! mvprintw(count++,0,"ENTER SELECTION (1,2,3):");
- X refresh();
- X type = getch() - '0';
- X if(type==M_MIL || type==M_CIV || type==M_MGK){
- X--- 218,248 ----
- X #endif OGOD
- X
- X standend();
- X! county=3;
- X /*print the powers that you have*/
- X i=0;
- X while( powers[i] != 0 ){
- X if(magic(country,powers[i])==TRUE)
- X! mvprintw(county++,countx,"you have power %s",*(pwrname+i));
- X i++;
- X+ if (county > 18) {
- X+ county=7;
- X+ countx=40;
- X+ }
- X }
- X
- X! if(county<=7) county=8;
- X! else if(countx == 40) county = 20;
- X! else county++;
- X standout();
- X! mvprintw(county++,0,"YOU HAVE %ld JEWELS IN YOUR TREASURY",curntn->jewels);
- X if(price < curntn->jewels){
- X! mvaddstr(county++,0,"DO YOU WISH TO BUY A RANDOM NEW POWER (enter y or n):");
- X standend();
- X refresh();
- X if(getch()=='y'){
- X done=FALSE;
- X! mvprintw(county++,0,"ENTER SELECTION (1,2,3):");
- X refresh();
- X type = getch() - '0';
- X if(type==M_MIL || type==M_CIV || type==M_MGK){
- X***************
- X*** 270,280 ****
- X }
- X #ifdef ORCTAKE
- X if((curntn->race==ORC)&&(curntn->jewels>=ORCTAKE)&&(curntn->spellpts>=TAKEPOINTS))
- X! done |= orctake(&count);
- X #endif ORCTAKE
- X #ifdef OGOD
- X if (isgod==TRUE) {
- X! mvaddstr(count++,0,"GOD: REMOVE A MAGIC POWER? (y or n)");
- X refresh();
- X if (getch()=='y') killmagk();
- X }
- X--- 275,285 ----
- X }
- X #ifdef ORCTAKE
- X if((curntn->race==ORC)&&(curntn->jewels>=ORCTAKE)&&(curntn->spellpts>=TAKEPOINTS))
- X! done |= orctake(&county);
- X #endif ORCTAKE
- X #ifdef OGOD
- X if (isgod==TRUE) {
- X! mvaddstr(county++,0,"GOD: REMOVE A MAGIC POWER? (y or n)");
- X refresh();
- X if (getch()=='y') killmagk();
- X }
- X***************
- X*** 492,498 ****
- X int x,count,i,armynum;
- X long e_cost;
- X int newtype,s_cost;
- X! char line[80],ch;
- X
- X x=0;
- X count=LINES-4;
- X--- 497,503 ----
- X int x,count,i,armynum;
- X long e_cost;
- X int newtype,s_cost;
- X! char line[LINELTH+1],ch;
- X
- X x=0;
- X count=LINES-4;
- X***************
- X*** 809,818 ****
- X /* killmagk: this routine removes a magic power */
- X killmagk()
- X {
- X! int count,choice,i;
- X
- X clear();
- X! count=3;
- X standout();
- X mvprintw(0,(COLS/2)-15,"MAGIC POWERS FOR %s",curntn->name);
- X standend();
- X--- 814,824 ----
- X /* killmagk: this routine removes a magic power */
- X killmagk()
- X {
- X! int county,countx,choice,i;
- X
- X clear();
- X! county=3;
- X! countx=0;
- X standout();
- X mvprintw(0,(COLS/2)-15,"MAGIC POWERS FOR %s",curntn->name);
- X standend();
- X***************
- X*** 819,837 ****
- X i=0;
- X while( powers[i] != 0 ){
- X if(magic(country,powers[i])==TRUE) {
- X! mvprintw(count,0,"%d: power %s",i+1,*(pwrname+i));
- X! count++;
- X }
- X i++;
- X }
- X! count++;
- X standout();
- X! mvaddstr(count++,5," Which power to remove? ");
- X standend();
- X refresh();
- X choice=get_number();
- X! if(choice!=0) {
- X! mvprintw(count++,0," Remove magic #%d? (y or [n])",choice);
- X refresh();
- X if (getch()=='y') {
- X if(magic(country,powers[choice-1])) {
- X--- 825,850 ----
- X i=0;
- X while( powers[i] != 0 ){
- X if(magic(country,powers[i])==TRUE) {
- X! mvprintw(county,countx,"%d: power %s",i+1,*(pwrname+i));
- X! county++;
- X }
- X i++;
- X+ if (county > 18) {
- X+ county = 3;
- X+ countx = 40;
- X+ }
- X }
- X! if (countx == 40) {
- X! county = 20;
- X! }
- X! else county++;
- X standout();
- X! mvaddstr(county++,5," Which power to remove? ");
- X standend();
- X refresh();
- X choice=get_number();
- X! if(choice > 0) {
- X! mvprintw(county++,0," Remove magic #%d? (y or [n])",choice);
- X refresh();
- X if (getch()=='y') {
- X if(magic(country,powers[choice-1])) {
- X***************
- X*** 855,861 ****
- X wizardry()
- X {
- X int i,xspt,yspt,choice,armynum,s_cost;
- X! char line[80];
- X void dosummon();
- X
- X clear_bottom(0);
- X--- 868,874 ----
- X wizardry()
- X {
- X int i,xspt,yspt,choice,armynum,s_cost;
- X! char line[LINELTH+1];
- X void dosummon();
- X
- X clear_bottom(0);
- X*** omain.c Tue Jul 18 22:04:42 1989
- X--- main.c Tue Jul 18 22:05:02 1989
- X***************
- X*** 21,27 ****
- X
- X extern int armornvy;
- X
- X! char fison[20];
- X char *getpass();
- X struct s_sector **sct;
- X struct s_nation ntn[NTOTAL]; /* player nation stats */
- X--- 21,27 ----
- X
- X extern int armornvy;
- X
- X! char fison[FILELTH];
- X char *getpass();
- X struct s_sector **sct;
- X struct s_nation ntn[NTOTAL]; /* player nation stats */
- X***************
- X*** 43,48 ****
- X--- 43,49 ----
- X short pager=0; /* pager for selector 0,1,2,3*/
- X short country=0; /* nation id of owner*/
- X struct s_nation *curntn;
- X+ short Gaudy=FALSE;
- X int owneruid;
- X
- X FILE *fexe, *fopen();
- X***************
- X*** 56,63 ****
- X char **argv;
- X {
- X int geteuid(), getuid(), setuid();
- X! register int i;
- X! char name[NAMELTH+1],filename[80];
- X void srand(),init_hasseen();
- X int getopt();
- X char passwd[PASSLTH+1];
- X--- 57,64 ----
- X char **argv;
- X {
- X int geteuid(), getuid(), setuid();
- X! register int i,j;
- X! char name[NAMELTH+1],filename[FILELTH];
- X void srand(),init_hasseen();
- X int getopt();
- X char passwd[PASSLTH+1];
- X***************
- X*** 66,88 ****
- X #ifdef SYSMAIL
- X extern char sysmail[];
- X #endif SYSMAIL
- X! int sflag=FALSE;
- X
- X! char defaultdir[256],tmppass[PASSLTH+1];
- X struct passwd *getpwnam();
- X owneruid=getuid();
- X- strcpy(defaultdir, DEFAULTDIR);
- X srand((unsigned) time((long *) 0));
- X strcpy(name,"");
- X
- X /* process the command line arguments */
- X! while((i=getopt(argc,argv,"hn:d:s"))!=EOF) switch(i){
- X /* process the command line arguments */
- X case 'h': /* execute help program*/
- X- if (chdir(defaultdir)) {
- X- printf("unable to change dir to %s\n",defaultdir);
- X- exit(FAIL);
- X- }
- X initscr();
- X savetty();
- X noecho();
- X--- 67,176 ----
- X #ifdef SYSMAIL
- X extern char sysmail[];
- X #endif SYSMAIL
- X! int sflag=FALSE,l;
- X
- X! char defaultdir[BIGLTH],tmppass[PASSLTH+1];
- X! char cq_opts[BIGLTH];
- X struct passwd *getpwnam();
- X+
- X owneruid=getuid();
- X srand((unsigned) time((long *) 0));
- X strcpy(name,"");
- X+ strcpy(cq_opts,"");
- X
- X+ /* check conquer options */
- X+ if (getenv(ENVIRON_OPTS)!=NULL) {
- X+ strncpy(cq_opts, getenv(ENVIRON_OPTS), BIGLTH-1);
- X+ }
- X+ if (cq_opts[0] != '\0') {
- X+ l = strlen(cq_opts);
- X+ for(i=0; i<l; i++) {
- X+ switch(cq_opts[i]) {
- X+ case 'G':
- X+ /* set Gaudy display */
- X+ Gaudy = TRUE;
- X+ break;
- X+ case 'N':
- X+ case 'n':
- X+ /* check for nation name */
- X+ if (strncmp(cq_opts+i+1,"ation=",6)==0) {
- X+ i += 7;
- X+ } else if (strncmp(cq_opts+i+1,"ame=",4)==0) {
- X+ i += 5;
- X+ } else {
- X+ fprintf(stderr,"conquer: invalid environment\n");
- X+ fprintf(stderr,"\t%s = %s\n",ENVIRON_OPTS,cq_opts);
- X+ fprintf(stderr,"\texpected <nation=NAME>\n");
- X+ exit(FAIL);
- X+ }
- X+ if (i<l) {
- X+ /* grab the nation name */
- X+ for (j=0;j<NAMELTH&&j<l-i&&cq_opts[i+j]!=',';j++) {
- X+ name[j] = cq_opts[i+j];
- X+ }
- X+ name[j]='\0';
- X+
- X+ /* end the parse properly */
- X+ i += j-1;
- X+ if (j==NAMELTH) {
- X+ for (;i<l && cq_opts[i]!=',';i++);
- X+ }
- X+ }
- X+ break;
- X+ case 'D':
- X+ case 'd':
- X+ /* check for data directory */
- X+ if (strncmp(cq_opts+i+1,"ata=",4)==0) {
- X+ i += 5;
- X+ } else if (strncmp(cq_opts+i+1,"atadir=",7)==0) {
- X+ i += 8;
- X+ } else if (strncmp(cq_opts+i+1,"irectory=",9)==0) {
- X+ i += 10;
- X+ } else if (strncmp(cq_opts+i+1,"ir=",3)==0) {
- X+ i += 4;
- X+ } else {
- X+ fprintf(stderr,"conquer: invalid environment\n");
- X+ fprintf(stderr,"\t%s = %s\n",ENVIRON_OPTS,cq_opts);
- X+ fprintf(stderr,"\texpected <data=NAME>\n");
- X+ exit(FAIL);
- X+ }
- X+ if (i<l) {
- X+ /* grab the data directory */
- X+ for (j=0; j<l-i && cq_opts[i+j]!=',';j++) {
- X+ defaultdir[j] = cq_opts[i+j];
- X+ }
- X+ defaultdir[j]='\0';
- X+ i += j-1;
- X+ }
- X+ break;
- X+ case ' ':
- X+ case ',':
- X+ /* ignore commas and spaces */
- X+ break;
- X+ default:
- X+ /* complain */
- X+ fprintf(stderr,"conquer: invalid environment\n");
- X+ fprintf(stderr,"\t%s = %s\n",ENVIRON_OPTS,cq_opts);
- X+ fprintf(stderr,"\tunexpected option <%c>\n",cq_opts[i]);
- X+ exit(FAIL);
- X+ break;
- X+ }
- X+ }
- X+ }
- X+
- X+ /* set the default data directory */
- X+ if (defaultdir[0] == '\0') {
- X+ strcpy(defaultdir, DEFAULTDIR);
- X+ }
- X+ if (defaultdir[0] != '/') {
- X+ strcpy(cq_opts, defaultdir);
- X+ sprintf(defaultdir, "%s/%s", DEFAULTDIR, cq_opts);
- X+ }
- X+
- X /* process the command line arguments */
- X! while((i=getopt(argc,argv,"hGn:d:s"))!=EOF) switch(i){
- X /* process the command line arguments */
- X case 'h': /* execute help program*/
- X initscr();
- X savetty();
- X noecho();
- X***************
- X*** 93,98 ****
- X--- 181,189 ----
- X endwin();
- X putchar('\n');
- X exit(SUCCESS);
- X+ case 'G':
- X+ Gaudy = TRUE;
- X+ break;
- X case 'd':
- X if(optarg[0]!='/') {
- X sprintf(defaultdir, "%s/%s", DEFAULTDIR, optarg);
- X***************
- X*** 107,113 ****
- X sflag++;
- X break;
- X case '?': /* print out command line arguments */
- X! printf("Command line format: %s [-hs -d DIR -nNAT]\n",argv[0]);
- X printf("\t-n NAT play as nation NAT\n");
- X printf("\t-h print help text\n");
- X printf("\t-d DIR to use play different game\n");
- X--- 198,205 ----
- X sflag++;
- X break;
- X case '?': /* print out command line arguments */
- X! printf("Command line format: %s [-Ghs -d DIR -nNAT]\n",argv[0]);
- X! printf("\t-G gaudily highlight nation in news\n");
- X printf("\t-n NAT play as nation NAT\n");
- X printf("\t-h print help text\n");
- X printf("\t-d DIR to use play different game\n");
- X***************
- X*** 157,171 ****
- X /* get nation name from command line or by asking user.
- X * if you fail give name of administrator of game
- X */
- X! if (strlen(name) == 0) {
- X printf("what nation would you like to be: ");
- X gets(name);
- X }
- X #ifdef OGOD
- X if(strcmp(name,"god")==0 || strcmp(name,"unowned")==0) {
- X! if ( owneruid != (getpwnam(LOGIN))->pw_uid ){
- X! printf("sorry -- you can not login as god\n");
- X! printf("you need to be logged in as %s\n",LOGIN);
- X exit(FAIL);
- X }
- X strcpy(name,"unowned");
- X--- 249,268 ----
- X /* get nation name from command line or by asking user.
- X * if you fail give name of administrator of game
- X */
- X! if (name[0] == '\0') {
- X printf("what nation would you like to be: ");
- X gets(name);
- X }
- X #ifdef OGOD
- X if(strcmp(name,"god")==0 || strcmp(name,"unowned")==0) {
- X! if ((owneruid != (getpwnam(LOGIN))->pw_uid ) &&
- X! (owneruid != (getpwnam(ntn[0].leader))->pw_uid )) {
- X! printf("Sorry -- you can not login as god\n");
- X! printf("you need to be logged in as %s",LOGIN);
- X! if (strcmp(LOGIN, ntn[0].leader)!=0) {
- X! printf(" or %s",ntn[0].leader);
- X! }
- X! printf("\n");
- X exit(FAIL);
- X }
- X strcpy(name,"unowned");
- X***************
- X*** 179,187 ****
- X if(strcmp(name,ntn[i].name)==0) country=i;
- X
- X if(country==(-1)) {
- X! printf("name not found\n");
- X! printf("\nfor rules type <conquer -h>");
- X! printf("\nfor more information please contact %s\n",OWNER);
- X return;
- X } else if(country==0) {
- X sprintf(filename,"%sadd",isonfile);
- X--- 276,289 ----
- X if(strcmp(name,ntn[i].name)==0) country=i;
- X
- X if(country==(-1)) {
- X! printf("Sorry, name <%s> not found\n",name);
- X! printf("\nFor rules type <conquer -h>");
- X! printf("\nFor information on conquer please contact %s.",OWNER);
- X! printf("\nTo enter this campaign please send mail to %s", LOGIN);
- X! if (strcmp(LOGIN, ntn[0].leader)!=0) {
- X! printf(" or %s",ntn[0].leader);
- X! }
- X! printf(".\n");
- X return;
- X } else if(country==0) {
- X sprintf(filename,"%sadd",isonfile);
- X***************
- X*** 203,211 ****
- X strncpy(passwd,crypt(tmppass,SALT),PASSLTH);
- X if((strncmp(passwd,curntn->passwd,PASSLTH)!=0)
- X &&(strncmp(passwd,ntn[0].passwd,PASSLTH)!=0)) {
- X! printf("\nsorry:");
- X! printf("\nfor rules type <conquer -h>");
- X! printf("\nfor more information on the system please contact %s\n",OWNER);
- X exit(FAIL);
- X }
- X }
- X--- 305,320 ----
- X strncpy(passwd,crypt(tmppass,SALT),PASSLTH);
- X if((strncmp(passwd,curntn->passwd,PASSLTH)!=0)
- X &&(strncmp(passwd,ntn[0].passwd,PASSLTH)!=0)) {
- X! printf("\nSorry:");
- X! printf("\nFor rules type <conquer -h>");
- X! printf("\nFor information on conquer please contact %s.",
- X! OWNER);
- X! printf("\nTo enter this campaign please send mail to %s",
- X! LOGIN);
- X! if (strcmp(LOGIN, ntn[0].leader)!=0) {
- X! printf(" or %s",ntn[0].leader);
- X! }
- X! printf(".\n");
- X exit(FAIL);
- X }
- X }
- X***************
- X*** 241,248 ****
- X (void) aretheyon();
- X } else {
- X if(curntn->active==INACTIVE) {
- X! mvprintw(LINES-2,0,"Sorry, for some reason, your country no longer exists.");
- X! mvprintw(LINES-1,0,"If there is a problem, please contact %s.",OWNER);
- X beep();
- X refresh();
- X getch();
- X--- 350,364 ----
- X (void) aretheyon();
- X } else {
- X if(curntn->active==INACTIVE) {
- X! mvprintw(LINES-3,0,"Sorry, for some reason, your country no longer exists.");
- X! mvprintw(LINES-2,0,"If there is a problem, please contact %s.",
- X! OWNER);
- X! mvprintw(LINES-1,0,"To re-enter this campaign please send mail to %s",
- X! LOGIN);
- X! if (strcmp(LOGIN, ntn[0].leader)!=0) {
- X! printw(" or %s",ntn[0].leader);
- X! }
- X! printw(".");
- X beep();
- X refresh();
- X getch();
- X***************
- X*** 250,256 ****
- X }
- X if(aretheyon()==TRUE) {
- X mvprintw(LINES-2,0,"Sorry, country is already logged in.");
- X! mvprintw(LINES-1,0,"Please try again later. ");
- X beep();
- X refresh();
- X getch();
- X--- 366,372 ----
- X }
- X if(aretheyon()==TRUE) {
- X mvprintw(LINES-2,0,"Sorry, country is already logged in.");
- X! mvprintw(LINES-1,0,"Please try again later.");
- X beep();
- X refresh();
- X getch();
- X***************
- X*** 374,380 ****
- X void
- X parse()
- X {
- X! char name[20];
- X char passwd[PASSLTH+1];
- X int ocountry;
- X
- X--- 490,496 ----
- X void
- X parse()
- X {
- X! char name[LINELTH+1];
- X char passwd[PASSLTH+1];
- X int ocountry;
- X
- X***************
- X*** 512,517 ****
- X--- 628,645 ----
- X curntn->tgold -= MOVECOST;
- X newspaper();
- X break;
- X+ case 'o': /*pick (crsr up)*/
- X+ selector-=2;
- X+ if(selector<0) {
- X+ selector=SCRARM*2-2;
- X+ pager--;
- X+ }
- X+ /*move to last army in current sector*/
- X+ if (pager<0) {
- X+ pager=(units_in_sector(XREAL,YREAL,country)-1)/SCRARM;
- X+ selector=((units_in_sector(XREAL,YREAL,country)-1)%SCRARM)*2;
- X+ }
- X+ break;
- X case 'p': /*pick*/
- X selector+=2;
- X if(selector>=SCRARM*2) {
- X***************
- X*** 614,620 ****
- X break;
- X case 'z': /*login as new user */
- X #ifdef OGOD
- X! if (owneruid != (getpwnam(LOGIN))->pw_uid) break;
- X #endif
- X clear();
- X redraw=TRUE;
- X--- 742,749 ----
- X break;
- X case 'z': /*login as new user */
- X #ifdef OGOD
- X! if ((owneruid != (getpwnam(LOGIN))->pw_uid ) &&
- X! (owneruid != (getpwnam(ntn[0].leader))->pw_uid )) break;
- X #endif
- X clear();
- X redraw=TRUE;
- X***************
- X*** 665,671 ****
- X break;
- X }
- X
- X! if(strcmp(fison,"START")!=0) unlink(fison);
- X
- X fclose(fexe);
- X /* open output for future printing*/
- X--- 794,802 ----
- X break;
- X }
- X
- X! /* remove old lock file -- new one already made */
- X! sprintf(fison,"%s%s",isonfile,ocountry);
- X! unlink(fison);
- X
- X fclose(fexe);
- X /* open output for future printing*/
- X***************
- X*** 949,955 ****
- X }
- X
- X standout();
- X! if((sptr->owner==0)||(ntn[sptr->owner].active==NPC_BARBARIAN))
- X mvaddstr(LINES-12,COLS-20,"unowned");
- X else mvprintw(LINES-12,COLS-20,"owner: %s",ntn[sptr->owner].name);
- X standend();
- X--- 1080,1086 ----
- X }
- X
- X standout();
- X! if((sptr->owner==0)||(ntn[sptr->owner].active==NPC_SAVAGE))
- X mvaddstr(LINES-12,COLS-20,"unowned");
- X else mvprintw(LINES-12,COLS-20,"owner: %s",ntn[sptr->owner].name);
- X standend();
- X***************
- X*** 1013,1019 ****
- X {
- X #ifdef TIMELOG
- X FILE *timefp, *fopen();
- X! char string[80];
- X #endif /* TIMELOG */
- X
- X clear();
- X--- 1144,1150 ----
- X {
- X #ifdef TIMELOG
- X FILE *timefp, *fopen();
- X! char string[LINELTH+1];
- X #endif /* TIMELOG */
- X
- X clear();
- X***************
- X*** 1082,1088 ****
- X void
- X camp_info()
- X {
- X! int mercs=0,solds=0,armynum,nvynum;
- X int numarm=0,numnvy=0,numlead=0;
- X
- X clear();
- X--- 1213,1219 ----
- X void
- X camp_info()
- X {
- X! int mercs=0,solds=0,armynum,nvynum,nontn=0;
- X int numarm=0,numnvy=0,numlead=0;
- X
- X clear();
- X***************
- X*** 1107,1121 ****
- X for(nvynum=0;nvynum<MAXNAVY;nvynum++) {
- X if (P_NWSHP!=0||P_NGSHP!=0||P_NMSHP!=0) numnvy++;
- X }
- X
- X /* global information */
- X mvprintw(7,0,"World Map Size............. %dx%d", MAPX, MAPY);
- X mvprintw(8,0,"Currently Active Nations... %d", WORLDNTN);
- X! mvprintw(9,0,"Maximum Active Nations..... %d", NTOTAL-1);
- X! mvprintw(10,0,"Land displacement to meet.. %d", MEETNTN);
- X mvprintw(11,0,"Maximum Number of Armies... %d", MAXARM);
- X mvprintw(12,0,"Maximum Number of Navies... %d", MAXNAVY);
- X! mvprintw(13,0,"Chance of Scout Capture.... %d%%", PFINDSCOUT);
- X
- X /* user information */
- X mvprintw(7,COLS-40,"Number of Leaders........... %d",numlead);
- X--- 1238,1256 ----
- X for(nvynum=0;nvynum<MAXNAVY;nvynum++) {
- X if (P_NWSHP!=0||P_NGSHP!=0||P_NMSHP!=0) numnvy++;
- X }
- X+ for(armynum=1;armynum<NTOTAL;armynum++) {
- X+ if (ismonst(ntn[armynum].active)) nontn++;
- X+ }
- X
- X /* global information */
- X mvprintw(7,0,"World Map Size............. %dx%d", MAPX, MAPY);
- X mvprintw(8,0,"Currently Active Nations... %d", WORLDNTN);
- X! mvprintw(9,0,"Maximum Active Nations..... %d", NTOTAL-nontn-1);
- X! mvprintw(10,0,"Number of Monster Nations.. %d", nontn);
- X mvprintw(11,0,"Maximum Number of Armies... %d", MAXARM);
- X mvprintw(12,0,"Maximum Number of Navies... %d", MAXNAVY);
- X! mvprintw(13,0,"Land displacement to meet.. %d", MEETNTN);
- X! mvprintw(14,0,"Chance of Scout Capture.... %d%%", PFINDSCOUT);
- X
- X /* user information */
- X mvprintw(7,COLS-40,"Number of Leaders........... %d",numlead);
- X***************
- X*** 1124,1129 ****
- X--- 1259,1272 ----
- X mvprintw(10,COLS-40,"Total Soldiers in Nation.... %d",solds);
- X mvprintw(11,COLS-40,"Current Number of Armies.... %d",numarm);
- X mvprintw(12,COLS-40,"Current Number of Navies.... %d",numnvy);
- X+
- X+ /* other information */
- X+ mvprintw(LINES-6,0,"The Diety: %s", LOGIN);
- X+ if (strcmp(LOGIN,ntn[0].leader)==0) {
- X+ mvprintw(LINES-5,0,"The Demi-God: [none]");
- X+ } else {
- X+ mvprintw(LINES-5,0,"The Demi-God: %s", ntn[0].leader);
- X+ }
- X
- X standout();
- X mvaddstr(LINES-2,COLS/2-13," HIT ANY KEY TO CONTINUE");
- X*** onpc.c Tue Jul 18 22:04:43 1989
- X--- npc.c Tue Jul 18 22:05:03 1989
- X***************
- X*** 88,94 ****
- X curntn = &ntn[country];
- X if( curntn->active==NPC_NOMAD ) do_nomad();
- X else if( curntn->active==NPC_PIRATE ) do_pirate();
- X! else if( curntn->active==NPC_BARBARIAN ) do_barbarian();
- X else if( curntn->active==NPC_LIZARD ) do_lizard(); /* update.c */
- X }
- X }
- X--- 88,94 ----
- X curntn = &ntn[country];
- X if( curntn->active==NPC_NOMAD ) do_nomad();
- X else if( curntn->active==NPC_PIRATE ) do_pirate();
- X! else if( curntn->active==NPC_SAVAGE ) do_savage();
- X else if( curntn->active==NPC_LIZARD ) do_lizard(); /* update.c */
- X }
- X }
- X***************
- X*** 155,166 ****
- X }
- X
- X void
- X! do_barbarian()
- X {
- X short armynum;
- X int x, y;
- X
- X! printf("updating barbarian (nation %d)\n",country);
- X for(armynum=0;armynum<MAXARM;armynum++) if(P_ASOLD>0){
- X P_ASTAT=ATTACK;
- X if(P_ATYPE<MINLEADER) {
- X--- 155,166 ----
- X }
- X
- X void
- X! do_savage()
- X {
- X short armynum;
- X int x, y;
- X
- X! printf("updating savage (nation %d)\n",country);
- X for(armynum=0;armynum<MAXARM;armynum++) if(P_ASOLD>0){
- X P_ASTAT=ATTACK;
- X if(P_ATYPE<MINLEADER) {
- X***************
- X*** 177,184 ****
- X /*if owned & unoccupied you take & people flee*/
- X if( ((sct[x][y].owner == 0)
- X || (solds_in_sector( x, y, sct[x][y].owner) == 0))
- X! && (ntn[sct[x][y].owner].active != NPC_BARBARIAN)) {
- X! fprintf(fnews,"3.\tbarbarians capture sector %d,%d\n",x,y);
- X if(P_ATYPE<MINLEADER) {
- X if(sct[x][y].owner!=0) flee(x,y,1,FALSE);
- X sct[x][y].owner=country;
- X--- 177,184 ----
- X /*if owned & unoccupied you take & people flee*/
- X if( ((sct[x][y].owner == 0)
- X || (solds_in_sector( x, y, sct[x][y].owner) == 0))
- X! && (ntn[sct[x][y].owner].active != NPC_SAVAGE)) {
- X! fprintf(fnews,"3.\tsavages capture sector %d,%d\n",x,y);
- X if(P_ATYPE<MINLEADER) {
- X if(sct[x][y].owner!=0) flee(x,y,1,FALSE);
- X sct[x][y].owner=country;
- X***************
- X*** 187,193 ****
- X }
- X }
- X }
- X! /* place a few new Barbarian armies */
- X for(armynum=0;armynum<MAXARM;armynum++) if(P_ASOLD<=0){
- X x=(rand()%(MAPX-8))+4;
- X y=(rand()%(MAPY-8))+4;
- X--- 187,193 ----
- X }
- X }
- X }
- X! /* place a few new savage armies */
- X for(armynum=0;armynum<MAXARM;armynum++) if(P_ASOLD<=0){
- X x=(rand()%(MAPX-8))+4;
- X y=(rand()%(MAPY-8))+4;
- X***************
- X*** 1125,1131 ****
- X--- 1125,1135 ----
- X void
- X n_unowned()
- X {
- X+ #ifdef XENIX
- X+ register int z;
- X+ #else
- X register int x,y;
- X+ #endif /*XENIX*/
- X
- X /* around capitol */
- X for(x=(int)curntn->capx-4;x<=(int)curntn->capx+4;x++){
- X***************
- X*** 1152,1158 ****
- X attr[x][y]+=100;
- X }
- X attr[x][y] += 50*tofood(&sct[x][y],country);
- X! if(!is_habitable(x,y)) attr[x][y] /= 5;
- X }
- X }
- X }
- X--- 1156,1171 ----
- X attr[x][y]+=100;
- X }
- X attr[x][y] += 50*tofood(&sct[x][y],country);
- X!
- X! if(!is_habitable(x,y)) {
- X! #ifdef XENIX
- X! z = attr[x][y];
- X! z /= 5;
- X! attr[x][y] = z;
- X! #else
- X! attr[x][y] /= 5;
- X! #endif /*XENIX*/
- X! }
- X }
- X }
- X }
- X*** onewlogin.h Tue Jul 18 22:04:43 1989
- X--- newlogin.h Tue Jul 18 22:05:03 1989
- X***************
- X*** 1,67 ****
- X /*conquer : Copyright (c) 1988 by Ed Barlow. */
- X- /* initial starting stats */
- X
- X! /*dwarf*/
- X! #define NLDGOLD 100000L
- X! #define NLDFOOD 35000L
- X! #define NLDJEWEL 15000L
- X! #define NLDMETAL 15000L
- X! #define NLDCIVIL 6000L
- X! #define NLDMILIT 1000L
- X! #define NLDREPRO 4
- X! #define NLDMMOVE 6
- X! #define NLDAPLUS 20
- X! #define NLDDPLUS 20
- X
- X! /*elf*/
- X! #define NLEGOLD 100000L
- X! #define NLEFOOD 35000L
- X! #define NLEJEWEL 15000L
- X! #define NLEMETAL 15000L
- X! #define NLECIVIL 7000L
- X! #define NLEMILIT 200L
- X! #define NLEREPRO 5
- X! #define NLEMMOVE 8
- X! #define NLEAPLUS 10
- X! #define NLEDPLUS 40
- X
- X! /*orc*/
- X! #define NLOGOLD 1000L
- X! #define NLOFOOD 35000L
- X! #define NLOJEWEL 15000L
- X! #define NLOMETAL 15000L
- X! #define NLOCIVIL 6000L
- X! #define NLOMILIT 2000L
- X! #define NLOREPRO 8
- X! #define NLOMMOVE 6
- X! #define NLOAPLUS 0
- X! #define NLODPLUS 0
- X
- X! /*human*/
- X! #define NLHGOLD 1000L
- X! #define NLHFOOD 35000L
- X! #define NLHJEWEL 15000L
- X! #define NLHMETAL 15000L
- X! #define NLHCIVIL 6000L
- X! #define NLHMILIT 1000L
- X! #define NLHREPRO 5
- X! #define NLHMMOVE 10
- X! #define NLHAPLUS 15
- X! #define NLHDPLUS 10
- X
- X! /* the purchase definitions and/or costs */
- X! #define NLPOP 1000L
- X! #define NLGOLD 100000L
- X! #define NLLOCCOST 1
- X! #define NLSOLD 900L
- X! #define NLATTACK 10
- X! #define NLDEFENCE 10
- X! #define NLREPRO_ORC 2 /* repro points per NLREPCOST for orcs */
- X! #define NLREPRO 1 /* repro points per NLREPCOST for others */
- X! #define NLREPCOST 3
- X! #define NLMOVE 2
- X! #define NLDBLCOST 1
- X! #define NLMAGIC 3
- X! /* get NLEADER leaders for NLEADPT points */
- X! #define NLEADER 3
- X! #define NLEADPT 1
- X--- 1,104 ----
- X /*conquer : Copyright (c) 1988 by Ed Barlow. */
- X
- X! /*selection defines */
- X! #define CH_PEOPLE 0
- X! #define CH_TREASURY 1
- X! #define CH_LOCATE 2
- X! #define CH_SOLDIERS 3
- X! #define CH_ATTACK 4
- X! #define CH_DEFEND 5
- X! #define CH_REPRO 6
- X! #define CH_MOVEMENT 7
- X! #define CH_MAGIC 8
- X! #define CH_LEADERS 9
- X! #define CH_RAWGOODS 10
- X! /* how many selections there are */
- X! #define CH_NUMBER 11
- X
- X! /* location defines */
- X! #define NLRANDOM 0
- X! #define NLFAIR 1
- X! #define NLGOOD 2
- X
- X! /* direction defines */
- X! #define ADDITION 0
- X! #define SUBTRACTION 1
- X
- X! /* number of units for dwarf nations */
- X! #define NLDGOLD 1
- X! #define NLDRAW 1
- X! #define NLDCIVIL 6
- X! #define NLDMILIT 2
- X! #define NLDREPRO 4
- X! #define NLDMMOVE 6
- X! #define NLDAPLUS 20
- X! #define NLDDPLUS 20
- X
- X! /* number of units for elf nations */
- X! #define NLEGOLD 1
- X! #define NLERAW 1
- X! #define NLECIVIL 7
- X! #define NLEMILIT 1
- X! #define NLEREPRO 5
- X! #define NLEMMOVE 8
- X! #define NLEAPLUS 10
- X! #define NLEDPLUS 40
- X!
- X! /* number of units for orc nations */
- X! #define NLOGOLD 0
- X! #define NLORAW 1
- X! #define NLOCIVIL 8
- X! #define NLOMILIT 2
- X! #define NLOREPRO 8
- X! #define NLOMMOVE 6
- X! #define NLOAPLUS 0
- X! #define NLODPLUS 0
- X!
- X! /* number of units for human nations */
- X! #define NLHGOLD 0
- X! #define NLHRAW 1
- X! #define NLHCIVIL 6
- X! #define NLHMILIT 2
- X! #define NLHREPRO 5
- X! #define NLHMMOVE 10
- X! #define NLHAPLUS 20
- X! #define NLHDPLUS 10
- X!
- X! /* the following has been placed in the header for clarity in configuration */
- X! /* since newlogin.c is the only file to include this file, there should */
- X! /* be no problems; even though it is probably not a good idea. */
- X!
- X! /* the minimum/maximum levels for each selection */
- X! int Minvalues[]= { 6, 0, 0, 1, 0, 0, 4, 6, 0, 4, 1 };
- X! int Maxvalues[]= { 50, 10, 2, 20, 80, 80, 10, 30, 5, MAXARM/2, 10 };
- X!
- X! /* the number of points spent on each selection */
- X! int Mcost[]= { 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1 };
- X!
- X! /* the number of units per cost */
- X! int Munits[]= { 1, 1, 1, 1, 8, 8, 1, 2, 1, 3, 1 };
- X!
- X! /* The list of corresponding values of each unit */
- X! long Mvalues[]= { 1000L, 100000L, 1L, 1000L, 1L, 1L, 1L,
- X! 1L, 1L, 1L, 30000L };
- X!
- X! /* values for jewels and metal (food is last in array above) */
- X! #define NLJEWELS 15000L
- X! #define NLMETAL 15000L
- X!
- X! /* the old definitions */
- X! #define ONLPOP 1000L
- X! #define ONLGOLD 100000L
- X! #define ONLLOCCOST 1
- X! #define ONLSOLD 900L
- X! #define ONLATTACK 10
- X! #define ONLDEFENCE 10
- X! #define ONLREPRO_ORC 2 /* repro points per ONLREPCOST for orcs */
- X! #define ONLREPRO 1 /* repro points per ONLREPCOST for others */
- X! #define ONLREPCOST 3
- X! #define ONLMOVE 2
- X! #define ONLDBLCOST 1
- X! #define ONLMAGIC 3
- X! /* get ONLEADER leaders for ONLEADPT points */
- X! #define ONLEADER 3
- X! #define ONLEADPT 1
- X*** otrade.c Tue Jul 18 22:04:45 1989
- X--- trade.c Tue Jul 18 22:05:04 1989
- X***************
- X*** 166,171 ****
- X--- 166,172 ----
- X mvaddstr(count++,0,"What item number do you want to purchase? ");
- X refresh();
- X holdint = get_number();
- X+ if (holdint<0) break;
- X /* check for minor sales */
- X if (holdint==GETFOOD || holdint==GETMETAL || holdint==GETJEWL) {
- X /* strange flow but less control needed */
- X***************
- X*** 216,221 ****
- X--- 217,223 ----
- X refresh();
- X holdlong2 = 0L;
- X holdlong = (long) get_number();
- X+ if (holdlong< 0L) break;
- X /* check for valid bid */
- X switch(type2[holdint]) {
- X case TDGOLD:
- X***************
- X*** 258,263 ****
- X--- 260,266 ----
- X mvaddstr(count++,0,"What Y position? ");
- X refresh();
- X holdlong2 = (long) get_number();
- X+ if (holdlong2 < 0L) break;
- X if (checkland(BUY,(int)(holdlong),(int)(holdlong2))==NODEAL) {
- X buysell=NODEAL;
- X } else if (tofood( &sct[(int)holdlong][(int)holdlong2],natn[holdint]) < lvar2[holdint]) {
- X***************
- X*** 329,334 ****
- X--- 332,338 ----
- X refresh();
- X /* find out how much commodities */
- X holdlong = (long) get_number();
- X+ if (holdlong < 0) return;
- X extint = 0;
- X if (holdint< TDLAND && holdlong==0L)
- X return;
- X***************
- X*** 363,368 ****
- X--- 367,376 ----
- X mvprintw(count++,0,"What Y position? ");
- X refresh();
- X extint = get_number();
- X+ if (extint < 0) {
- X+ buysell=NODEAL;
- X+ break;
- X+ }
- X buysell = checkland(SELL,(int)holdlong,extint);
- X break;
- X case TDARMY:
- X***************
- X*** 409,415 ****
- X ,commodities[holdint2]);
- X refresh();
- X holdlong2 = (long) get_number();
- X! if (holdlong2 == 0L) return;
- X }
- X
- X /* make sure what was bid is unusable */
- X--- 417,423 ----
- X ,commodities[holdint2]);
- X refresh();
- X holdlong2 = (long) get_number();
- X! if (holdlong2 <= 0L) return;
- X }
- X
- X /* make sure what was bid is unusable */
- X***************
- X*** 442,447 ****
- X--- 450,456 ----
- X mvaddstr(count++,0,"What item number to remove? ");
- X refresh();
- X holdint = get_number();
- X+ if (holdint < 0) return;
- X if (holdint==0 || holdint>itemnum) {
- X tradeerr("Invalid Item Number");
- X return;
- X***************
- X*** 572,580 ****
- X break;
- X case 'f':
- X case 'F':
- X! /* hold=TDFOOD; */
- X! /* temporarily not allow */
- X! mvaddstr((*count)++,0," Food Trades Suspended");
- X break;
- X case 'i':
- X case 'I':
- X--- 581,587 ----
- X break;
- X case 'f':
- X case 'F':
- X! hold=TDFOOD;
- X break;
- X case 'i':
- X case 'I':
- X***************
- X*** 594,602 ****
- X break;
- X case 's':
- X case 'S':
- X! /* hold=TDSHIP; */
- X! /* temporarily not allow */
- X! mvaddstr((*count)++,0," Ship Trades Suspended");
- X break;
- X default:
- X break;
- X--- 601,607 ----
- X break;
- X case 's':
- X case 'S':
- X! hold=TDSHIP;
- X break;
- X default:
- X break;
- X***************
- X*** 797,803 ****
- X {
- X FILE *fp[2];
- X int count;
- X! char cname[2][12],filename[2][80];
- X
- X sprintf(filename[0],"%s%d",msgfile,cntry1);
- X sprintf(filename[1],"%s%d",msgfile,cntry2);
- X--- 802,808 ----
- X {
- X FILE *fp[2];
- X int count;
- X! char cname[2][NAMELTH+1],filename[2][FILELTH];
- X
- X sprintf(filename[0],"%s%d",msgfile,cntry1);
- X sprintf(filename[1],"%s%d",msgfile,cntry2);
- X*** ocheck.c Tue Jul 18 22:04:40 1989
- X--- check.c Tue Jul 18 22:05:04 1989
- X***************
- X*** 147,153 ****
- X
- X #include <fcntl.h>
- X #ifdef FILELOCK
- X! #include <sys/file.h>
- X #endif FILELOCK
- X
- X /*
- X--- 147,159 ----
- X
- X #include <fcntl.h>
- X #ifdef FILELOCK
- X! #ifdef LOCKF
- X! # include <unistd.h>
- X! # define do_lock(fd) lockf(fd,F_TLOCK,0)
- X! #else
- X! # include <sys/file.h>
- X! # define do_lock(fd) flock(fd,LOCK_EX|LOCK_NB)
- X! #endif
- X #endif FILELOCK
- X
- X /*
- X***************
- X*** 165,172 ****
- X #ifdef FILELOCK
- X int fd;
- X
- X! if ((fd=open(filename,O_CREAT,0600))!=(-1)) {
- X! if(flock(fd, LOCK_EX|LOCK_NB)==(-1)) {
- X hold=TRUE;
- X }
- X /* remove lock after checking */
- X--- 171,178 ----
- X #ifdef FILELOCK
- X int fd;
- X
- X! if ((fd=open(filename,O_WRONLY|O_CREAT,0600))!=(-1)) {
- X! if(do_lock(fd)==(-1)) {
- X hold=TRUE;
- X }
- X /* remove lock after checking */
- X*** onavy.c Tue Jul 18 22:04:43 1989
- X--- navy.c Tue Jul 18 22:05:04 1989
- X***************
- X*** 441,447 ****
- X amount=get_number();
- X if(amount > mhold*P_NPEOP) {
- X errormsg("There are not that many on board");
- X! } else {
- X sct[XREAL][YREAL].people += amount;
- X P_NPEOP=(unsigned char)((mhold*P_NPEOP-amount)/mhold);
- X NADJHLD;
- X--- 441,447 ----
- X amount=get_number();
- X if(amount > mhold*P_NPEOP) {
- X errormsg("There are not that many on board");
- X! } else if (amount > 0) {
- X sct[XREAL][YREAL].people += amount;
- X P_NPEOP=(unsigned char)((mhold*P_NPEOP-amount)/mhold);
- X NADJHLD;
- X***************
- X*** 469,475 ****
- X mvaddstr(LINES-2,0,"Load what army?");
- X refresh();
- X armynum = get_number();
- X! if((armynum<0)||(armynum>=MAXARM)||(P_ASOLD<=0)
- X ||(loadstat(P_ASTAT)==FALSE)) {
- X errormsg("Invalid Army");
- X } else if((P_AXLOC!=XREAL)||(P_AYLOC!=YREAL)) {
- X--- 469,477 ----
- X mvaddstr(LINES-2,0,"Load what army?");
- X refresh();
- X armynum = get_number();
- X! if(armynum<0) {
- X! ;
- X! } else if((armynum>=MAXARM)||(P_ASOLD<=0)
- X ||(loadstat(P_ASTAT)==FALSE)) {
- X errormsg("Invalid Army");
- X } else if((P_AXLOC!=XREAL)||(P_AYLOC!=YREAL)) {
- X***************
- X*** 497,503 ****
- X errormsg("Not enough room on fleet");
- X } else if(sct[XREAL][YREAL].people < amount) {
- X errormsg("Not enough people in sector");
- X! } else {
- X sct[XREAL][YREAL].people -= amount;
- X P_NPEOP += (unsigned char)(amount / mhold);
- X SADJCIV;
- X--- 499,505 ----
- X errormsg("Not enough room on fleet");
- X } else if(sct[XREAL][YREAL].people < amount) {
- X errormsg("Not enough people in sector");
- X! } else if (amount > 0) {
- X sct[XREAL][YREAL].people -= amount;
- X P_NPEOP += (unsigned char)(amount / mhold);
- X SADJCIV;
- X*** otxt0 Tue Jul 18 22:04:45 1989
- X--- txt0 Tue Jul 18 22:05:05 1989
- X***************
- X*** 1,21 ****
- X CONQUER COMMAND HELP SCREEN
- X
- X! MOVEMENT COMMANDS ADMINISTRATION
- X! 'h': move west 'a': army report 'p': pick item
- X! 'y': move north-west 'r': redesignate 'd': change display
- X! 'k': move north 'w': cast spells/summon 'c': administration
- X! 'u': move north-east 'm': move selected unit '?': help screen
- X! 'l': move east 'F': go to next fleet 's': score
- X! 'n': move south-east 'f': fleet report 'B': budget status
- X! 'j': move south 'Z': move people 2 Sectors 'P': production stats
- X! 'b': move south-west 'S': diplomacy status 'N': read newspaper
- X! 'J': scroll south 'Q': quit (saves changes) 'W': write message
- X! 'K': scroll north 'M': magic 'R': read messages
- X! 'L': scroll east 'C': construct 'T': trade
- X! 'H': scroll west 'D': draft 't': transport via ship
- X! 'G': go to next army 'v': version credits
- X! 'g': group army report 'I': campaign information
- X! 'ctrl-L': redraw 'ESC': extra commands
- X END
- X CONQUER EXTENDED COMMANDS
- X
- X--- 1,24 ----
- X CONQUER COMMAND HELP SCREEN
- X
- X! SELECTIVE MOVEMENT CIVIL
- X! 'o': pick previous unit 'h': move west 'r': redesignate
- X! 'p': pick next unit 'y': move north-west 't': transport via ship
- X! 'G': go to next army 'k': move north 'C': construct
- X! 'F': go to next fleet 'u': move north-east 'D': draft armies
- X! 'm': move selected unit 'l': move east 'Z': move civilians
- X! 'n': move south-east
- X! FORMS 'j': move south COMMUNICATIVE
- X! 'c': administrative 'b': move south-west 'R': read mail messages
- X! 's': world score list 'J': scroll south 'N': read newspaper
- X! 'B': budget status 'K': scroll north 'T': trade with players
- X! 'I': campaign info 'L': scroll east 'W': write mail messages
- X! 'M': magic screen 'H': scroll west
- X! 'P': production status MILITARY
- X! 'S': diplomacy status MISC COMMANDS 'a': army report
- X! 'q': quit and save 'f': fleet report
- X! VISUAL 'v': version credits 'g': group army report
- X! 'd': change display 'Q': quit and save 'w': wizardry commands
- X! 'cntrl-L': redraw '?': help screens 'ESC': extra commands
- X END
- X CONQUER EXTENDED COMMANDS
- X
- X***************
- X*** 49,62 ****
- X of gold for your treasury. Also, metals are needed to build ships & armies,
- X and food is needed to prevent revolts and keep people alive.
- X
- X! Command line format: conquer [-hs -nNAT -dDIR]
- X! -h print this help text
- X! -s print out scores
- X! -n NTN run as nation NTN
- X! -d DIR run on data in directory DIR
- X! It is suggested that each player set up a shell alias for their game & nation
- X The game administrator should read documentation on using the conqrun command.
- X END
- X CONQUER CURSOR MOVEMENT
- X
- X NORTH
- X--- 52,102 ----
- X of gold for your treasury. Also, metals are needed to build ships & armies,
- X and food is needed to prevent revolts and keep people alive.
- X
- X! Command format: conquer [-Ghs -nNAT -dDIR]
- X! -G highlight name in news (gaudy!)
- X! -h print this help text
- X! -s print out scores
- X! -n NTN run as nation NTN
- X! -d DIR run on data in directory DIR
- X!
- X The game administrator should read documentation on using the conqrun command.
- X END
- X+ CONQUER ENVIRONMENT VARIABLES
- X+
- X+ To facilitate the use of conquer, the environment variable
- X+ XCONQENV has been added to conquer to allow settings of default options
- X+ to conquer. Just add a line to your .cshrc or .login file with the
- X+ following format:
- X+
- X+ setenv XCONQENV "G,nation=MyLand,datadir=this_game"
- X+
- X+ If you then type just 'conquer' to enter conquer, it will be
- SHAR_EOF
- echo "End of part 3, continue with part 4"
- echo "4" > s2_seq_.tmp
- exit 0
-